// 引入 moment 时间插件
// import moment from "moment";
//获取今日/昨日/本周/上周/本月/上月 时间
export default {
    getCurrentMoment(){
        return moment();
    },
    // 获取今日的开始结束时间
    getToday(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        console.log("getToday____________");
        obj.starttime = moment(moment().startOf("day").valueOf()).format(format);
        obj.endtime = moment(moment().valueOf()).format(format);
        return obj
    },
    // 获取昨日的开始结束时间
    getYesterday(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        console.log("getYesterday____________");
        obj.starttime = moment(moment().add(-1, 'days').startOf("day").valueOf()).format(format);
        obj.endtime = moment(moment().add(-1, 'days').endOf('day').valueOf()).format(format);
        return obj
    },
    // 获取当前周的开始结束时间
    getCurrWeekDays(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().week(moment().week()).startOf('week').add(0, 'days').valueOf()).format(format)
        obj.endtime = moment(moment().week(moment().week()).endOf('week').add(0, 'days').valueOf()).format(format);
        return obj
    },
    // 获取上一周的开始结束时间
    getLastWeekDays(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().week(moment().week() - 1).startOf('week').add(0, 'days').valueOf()).format(format)
        obj.endtime = moment(moment().week(moment().week() - 1).endOf('week').add(0, 'days').valueOf()).format(format);
        return obj
    },
    // 获取当前月的开始结束时间
    getCurrMonthDays(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().month(moment().month()).startOf('month').valueOf()).format(format);
        obj.endtime = moment(moment().month(moment().month()).endOf('month').valueOf()).format(format);
        return obj
    },
    // 获取上一个月的开始结束时间
    getLastMonthDays(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().month(moment().month() - 1).startOf('month').valueOf()).format(format);
        obj.endtime = moment(moment().month(moment().month() - 1).endOf('month').valueOf()).format(format);
        return obj
    },
    //本季度开始结束时间
    getCurrQuarter(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment().startOf('quarter').format(format);
        obj.endtime = moment().endOf('quarter').format(format);
        return obj
    },
    //上季度开始结束时间
    getLastQuarter(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().quarter(moment().quarter() - 1)).startOf('quarter').format(format);
        obj.endtime = moment(moment().quarter(moment().quarter() - 1)).endOf('quarter').format(format);
        return obj
    },
    //当年开始结束时间
    getCurrYear(format) {
        if(!format)format = "YYYY-MM-DD";
        let obj = {
            starttime: '',
            endtime: ''
        }
        obj.starttime = moment(moment().year(moment().year())).startOf('year').format(format);
        obj.endtime = moment(moment().year(moment().year())).endOf('year').format(format);
        return obj
    },
    /**
     * 时长转换格式
     * @param {*} time 时长
     * @param {*} unit seconds minutes hours days weeks months years
     * @param {*} format HH:mm:ss 或者 mm:ss
     * @returns 
     */ 
    durationFormat(time,unit,format){
        let currentTime = moment.duration(time, unit);
        // console.log("时长转换格式",currentTime.hours(),currentTime.minutes(),currentTime.seconds());
        // 将获取到的下轮间隔秒数转换成时分秒
        return moment({
            h: currentTime.hours(),
            m: currentTime.minutes(),
            s: currentTime.seconds(),
        }).format(format);
    }
}